-- 如果只有一个参数,且是字符或者table,则不用写()
print(6)
print "hou"
function str(x) -- 定义函数
    print(x)
end
str "哈哈"
-- lua函数允许多重返回值
x,y=string.find("houzheng","hou") -- 返回匹配的开始和结束索引
print(x,y) -- 1,3
function test()
    return 1,2 --定义返回多个值
end
print(test()) -- 1 2
print((test())) -- 1 使用圆括号包裹只返回一个值
-- ... 表示可变参数
function test01(...)
    local sum=0
    for v in pairs {...} do
        sum=sum+v
    end
    return sum  -- 计算所有参数的和
end
print(test01(1,2,3,5))  -- 10
print(test01(1,2))  -- 3
-- 使用table作为参数可实现具名效果
function test02(user)
    print(user.name)
end
test02 {name="侯征",age=25}  -- 侯征
test02 {age=25}  -- nil
-- lua中函数是第一类值,所以可以作为变量或者table值